package com.qnbc.mystery.domain;

import java.math.BigDecimal;
import java.util.List;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qnbc.mystery.core.annotation.Excel;
import com.qnbc.mystery.core.domain.BaseEntity;
import com.qnbc.mystery.pojo.domain.ProductSwiperImage;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 奖盒管理对象 box_info
 *
 * @author guzj
 * @date 2024-01-30
 */
public class BoxInfo {
    private static final long serialVersionUID = 1L;

    /**
     * 编号
     */
    @TableId(type = IdType.AUTO)
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /**
     * 盒子名称
     */
    @Excel(name = "盒子名称")
    private String boxName;

    /**
     * 盒子封面
     */
    @Excel(name = "盒子封面")
    private String boxImg;
    /**
     * 盒子分类
     */
    @Excel(name = "盒子分类")
    private Integer boxType;

    /**
     * 价格
     */
    @Excel(name = "价格")
    private BigDecimal boxPrice;
    /**
     * 价格
     */
    @Excel(name = "ip")
    private String boxIp;
    /**
     * 价格
     */
    @Excel(name = "品牌")
    private String boxBrand;
    private String message;

    //月销量
    @TableField(exist = false)
    private int monthSales;


    @ApiModelProperty("商品轮播图片")
    @TableField(exist = false)
    private List<ProductSwiperImage> productSwiperImageList;

    @TableField(exist = false)
    private int pageSize;

    @TableField(exist = false)
    private int pageNum;


    public int getPageSize() {
        return pageSize;
    }

    public String getBoxIp() {
        return boxIp;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public void setBoxIp(String boxIp) {
        this.boxIp = boxIp;
    }

    public String getBoxBrand() {
        return boxBrand;
    }

    public void setBoxBrand(String boxBrand) {
        this.boxBrand = boxBrand;
    }

    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }

    public int getPageNum() {
        return pageNum;
    }

    public void setPageNum(int pageNum) {
        this.pageNum = pageNum;
    }

    public Integer getBoxType() {
        return boxType;
    }

    public void setBoxType(Integer boxType) {
        this.boxType = boxType;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setBoxName(String boxName) {
        this.boxName = boxName;
    }

    public String getBoxName() {
        return boxName;
    }

    public void setBoxImg(String boxImg) {
        this.boxImg = boxImg;
    }

    public String getBoxImg() {
        return boxImg;
    }

    public void setBoxPrice(BigDecimal boxPrice) {
        this.boxPrice = boxPrice;
    }

    public BigDecimal getBoxPrice() {
        return boxPrice;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("boxName", getBoxName())
                .append("boxImg", getBoxImg())
                .append("boxPrice", getBoxPrice())
                .toString();
    }

    public void setMonthSales(int monthSales) {
        this.monthSales = monthSales;
    }

    public int getMonthSales() {
        return monthSales;
    }

    public void setProductSwiperImageList(List<ProductSwiperImage> productSwiperImageList) {
        this.productSwiperImageList = productSwiperImageList;
    }

    public List<ProductSwiperImage> getProductSwiperImageList() {
        return productSwiperImageList;
    }
}
